/**
 * Created with IntelliJ IDEA.
 * User: mkadush
 * Date: 12.09.13
 * Time: 8:58
 * To change this template use File | Settings | File Templates.
 */

var buildCtxMenu = function(prefix) {
    switch(prefix){
        case 'org_':
            return new Ext.menu.Menu({
                items: [
                    {
                        itemId: 'add',
                        text: 'добавить отдел',
                        iconCls: 'departmentIconNew',
                        handler: onAdd
                    }
                ]
            });

        case 'dep_':
            return new Ext.menu.Menu({
                items: [
                    {
                        itemId: 'add',
                        text: 'добавить проект',
                        iconCls: 'projectIconNew',
                        handler: onAdd
                    },
                    {
                        itemId: 'edit',
                        text: 'переименовать отдел',
                        iconCls: 'departmentIconEdit',
                        handler: onEdit
                    },
                    {
                        itemId: 'delete',
                        text: 'распустить отдел',
                        iconCls: 'departmentIconDelete',
                        handler: onDelete
                    }
                ]
            });

        case 'pro_':
            return new Ext.menu.Menu({
                items: [
                    {
                        itemId: 'add',
                        text: 'добавить человека',
                        iconCls: 'humanIconNew',
                        handler: onAdd
                    },
                    {
                        itemId: 'edit',
                        text: 'переименовать проект',
                        iconCls: 'projectIconEdit',
                        handler: onEdit
                    },
                    {
                        itemId: 'delete',
                        text: 'закрыть проект',
                        iconCls: 'projectIconDelete',
                        handler: onDelete
                    }
                ]
            });

        case 'hum_':
            return new Ext.menu.Menu({
                items: [
                    {
                        itemId: 'edit',
                        text: 'переименовать человека',
                        iconCls: 'humanIconEdit',
                        handler: onEdit
                    },
                    {
                        itemId: 'delete',
                        text: 'уволить человека',
                        iconCls: 'humanIconDelete',
                        handler: onDelete
                    }
                ]
            });
    }
};

var previousPrefixNodeId;

var onCtxMenu = function (node, evtObj) {
    node.select();
    evtObj.stopEvent();

    var prefixNode=node.id.substring(0, 4);

    if(previousPrefixNodeId!=prefixNode){
        this.ctxMenu = buildCtxMenu(prefixNode);
        previousPrefixNodeId=prefixNode;
    }
    this.ctxMenu.showAt(evtObj.getXY());
};